Computers and their application programs are used in all aspects of business, industry and academic endeavors. In recent years, there has been a technological revolution driven by the convergence of the data processing industry with the consumer electronics industry. This advance has been even further accelerated by the extensive consumer and business involvement in the Internet. As a result of these changes, it seems as if virtually all aspects of human productivity in the industrialized world require human/computer interaction. The computer industry has been a force for bringing about great increases in business and industrial productivity.
In addition, the computer and computer related industries have benefited from a rapidly increasing availability of data processing functions. Such increased data processing functions have made complex text processing functions and a wide variety of accounting and business tracking functions easy to use by even unsophisticated or novice computer users. Ease of use in the creation of computer generated graphics has been advancing at a somewhat slower pace insofar as unsophisticated users are concerned. The present invention is concerned with ease of use in computer generated graphics, and is particularly concerned with making the tools used to create computer graphics readily available so that the users may easily and intuitively use such tools for their best purpose.
By way of background, conventional graphical user interfaces include word processors, Integrated Development Environments (IDEs), presentation tools, such as Microsoft(™) PowerPoint(™), spreadsheets and drawing tools. These tool systems conventionally involve a work area where the graphic object is constructed and modified, as well as at least one container or palette that contains the tools, usually in the form of text items or icons. The construction of the graphic object conventionally consists of a sequence of operations by the user constructing the graphic object that may be summarized as follows: the user picks a tool from the container or palette; the tool is moved to the location of the graphic object being constructed; graphic construction work using the tool; and finally release of the tool. The user may, at this point, pick another tool and continue construction or construct another graphic object at another location. Accordingly, the construction process is continued with the locus of interaction changing from one location to another within the work area.
The present invention is concerned with the problems presented in moving a selected tool so that it is readily and easily available to the location of the graphic object construction. The effectiveness of this move operation is dependent upon two factors: 1) minimizing the distance between the selectable tools, while 2) not obscuring or interfering with the graphic objects being constructed.
Currently available graphic object construction methods try to address these factors. One approach is to enable the user to present the tool palette as a pop-up menu. These pop-up menus satisfy the proximity need as they may be brought up close to the graphic object construction. They also satisfy the need not to obscure the object under construction as the menus remain invisible until invoked. However, since these menus remain invisible they lack the prompting capability of visible tool palettes. User positional palettes or tool bars that can be moved into proximity with the object construction are also available. However, in order to maintain the proximity of the tool palette without obscuring the construction, the user must continually relocate the moveable tool palette in order to avoid interference with the dynamically changeable graphic object being constructed.